/**
 * 
 */
package org.cuatrovientos.factura;

import static org.junit.Assert.*;

import org.junit.Test;

/**
 * @author daniel_ancin
 *
 */
public class FacturaTest {

	/**
	 * Test method for {@link org.cuatrovientos.factura.Factura#Factura(double)}.
	 */
	@Test
	public void testFactura() {
		Factura miFactura = new Factura(66.6d);
		double expected = 66.6d;
		
		assertEquals("Constructr test", miFactura.getSubtotal(), expected, 0.0);
		
	}

	/**
	 * Test method for {@link org.cuatrovientos.factura.Factura#ivareducido()}.
	 */
	@Test
	public void testIvareducido() {
		Factura miFactura = new Factura(66.6d);
		miFactura.ivareducido();
		double target = miFactura.getTotal();
		double expected = 69.264d;
		assertEquals("testIvareducido reducido",target, expected, 0.0);		
	}

	/**
	 * Test method for {@link org.cuatrovientos.factura.Factura#iva()}.
	 */
	@Test
	public void testIva() {
		Factura miFactura = new Factura(66.6d);
		miFactura.iva();
		double target = miFactura.getTotal();
		double expected = 80.586d;
		assertEquals("testIva IVA",target, expected, 0.0);
	}

	/**
	 * Test method for {@link org.cuatrovientos.factura.Factura#descuentoEspecialFijo()}.
	 */
	@Test
	public void testDescuentoespecialfijo() {
		Factura miFactura = new Factura(66.6d);
		miFactura.descuentoEspecialFijo();
		double target = miFactura.getTotal();
		double expected = 59.94;
		assertEquals("testDescuentoespecialfijo descuentoEspecial",target, expected, 0.0);		
	}

}
